package Packtrait

import censo.Registro
import Packtrait.CriterioFiltroEmpresa
import censo.Registro
import censo.Fuente

trait CriterioDeCondicionFiltro extends CriterioFiltroEmpresa {
  //////////
  def fuentesQueAportaronUnRegistro(): Set[Fuente] = (this.filtrarRegistrosXcondicion.map { r => r.getFuente }).toSet
////////// 
  def nombreDeLAEmpresaconMayorGananciaEn(): String = (this.filtrarRegistrosXcondicion.filter(r =>r.soyRegistroDeEmpresa)).sortBy(r => r.montoTotalDeGanancias).head.empresa.nombre
//////////
  def asociacionDeProvinciaYtotalDeVentas(): Map[String, Double] = {
    var resultado: Map[String, Double] = Map[String, Double]()
    var registros = this.filtrarRegistrosXcondicion
    this.filtrarRegistrosXcondicion.foreach { r: Registro => if (registros.contains(r))
      resultado += (r.empresa.departamento._Provincia ._nombreProvincia  -> r.montoTotalDeVentas) }
    return resultado
  }
//  def asociacionDeProvinciaYtotalDeVentas(anioCenso:Int): Map[String, Double] = {
//    var resultado: Map[String, Double] = Map[String, Double]()
//    this.filtrarRegistrosXcondicion.foreach { r: Registro => if (r.anio == anioCenso) resultado += (r.empresa.departamento._Provincia ._nombreProvincia  -> r.montoTotalDeVentas) }
//    return resultado
//  }

  
  
}